package com.heartbeat.upyun;

import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import com.heartbeat.upyun.UpYun.PARAMS;

public class PicBucket {
	// 运行前先设置好以下三个参数
	private static final String BUCKET_NAME = "meinvdoor";
	private static final String USER_NAME = "txtuku";
	private static final String USER_PWD = "tuku2013";
	
	private static UpYun upyun = new UpYun(BUCKET_NAME, USER_NAME, USER_PWD);
	
	public static boolean fixBoth(String sourceFilePath, String size, String dirRoot) throws IOException {

		String suffix = sourceFilePath.substring(sourceFilePath.lastIndexOf(".") + 1);
		String fileName = sourceFilePath.substring(sourceFilePath.lastIndexOf("/") +1);
		// 要传到upyun后的文件路径
		String filePath = dirRoot+fileName+"_"+size+"."+suffix;

		// 本地待上传的图片文件
		File file = new File(sourceFilePath);

		// 设置缩略图的参数
		Map<String, String> params = new HashMap<String, String>();

		// 设置缩略图类型，必须搭配缩略图参数值（KEY_VALUE）使用，否则无效
		params.put(PARAMS.KEY_X_GMKERL_TYPE.getValue(),PARAMS.VALUE_FIX_BOTH.getValue());

		// 设置缩略图参数值，必须搭配缩略图类型（KEY_TYPE）使用，否则无效
		params.put(PARAMS.KEY_X_GMKERL_VALUE.getValue(), size);

		// 设置缩略图的质量，默认 95
		params.put(PARAMS.KEY_X_GMKERL_QUALITY.getValue(), "85");

		// 设置缩略图的锐化，默认锐化（true）
		params.put(PARAMS.KEY_X_GMKERL_UNSHARP.getValue(), "true");

		// 若在 upyun 后台配置过缩略图版本号，则可以设置缩略图的版本名称
		// 注意：只有存在缩略图版本名称，才会按照配置参数制作缩略图，否则无效
		//params.put(PARAMS.KEY_X_GMKERL_THUMBNAIL.getValue(), "small");

		// 上传文件，并自动创建父级目录（最多10级）
		boolean result = upyun.writeFile(filePath, file, true, params);
		System.out.println("可以通过该路径来访问图片：" + "http://img.mamadoor.com" + filePath);
		return result;
	}
	
	public static boolean fixWidth(String sourceFilePath, String size, String dirRoot) throws IOException {

		String suffix = sourceFilePath.substring(sourceFilePath.lastIndexOf(".") + 1);
		String fileName = sourceFilePath.substring(sourceFilePath.lastIndexOf("/") +1);
		// 要传到upyun后的文件路径
		String filePath = dirRoot+fileName+"_"+size+"."+suffix;

		// 本地待上传的图片文件
		File file = new File(sourceFilePath);

		// 设置缩略图的参数
		Map<String, String> params = new HashMap<String, String>();

		// 设置缩略图类型，必须搭配缩略图参数值（KEY_VALUE）使用，否则无效
		params.put(PARAMS.KEY_X_GMKERL_TYPE.getValue(),PARAMS.VALUE_FIX_WIDTH.getValue());

		// 设置缩略图参数值，必须搭配缩略图类型（KEY_TYPE）使用，否则无效
		params.put(PARAMS.KEY_X_GMKERL_VALUE.getValue(), size);

		// 设置缩略图的质量，默认 95
		params.put(PARAMS.KEY_X_GMKERL_QUALITY.getValue(), "85");

		// 设置缩略图的锐化，默认锐化（true）
		params.put(PARAMS.KEY_X_GMKERL_UNSHARP.getValue(), "true");

		// 若在 upyun 后台配置过缩略图版本号，则可以设置缩略图的版本名称
		// 注意：只有存在缩略图版本名称，才会按照配置参数制作缩略图，否则无效
		//params.put(PARAMS.KEY_X_GMKERL_THUMBNAIL.getValue(), "small");

		// 上传文件，并自动创建父级目录（最多10级）
		boolean result = upyun.writeFile(filePath, file, true, params);
		System.out.println("可以通过该路径来访问图片：" + "http://img.mamadoor.com" + filePath);
		return result;
	}
}
